#ifndef TRABAJO_H
#define TRABAJO_H

#include "Dato.h"
#include "Tiempo.h"

//==============================================================================

#define PRIORIDAD_DEFAULT -1

typedef tDato tTrabajo;

void trabajoCrear(tTrabajo* pTrabajo
                , int pPrioridad
                , int pPotenciaProceso
                , unsigned long int pRequerimientoMemoria
                , char* pPathEjecutable
                , tTiempo pTiempoEjecucion);

tTrabajo trabajoClonar(tTrabajo pTrabajo);

int trabajoDestruir(tTrabajo pTrabajo);

int trabajoGetPrioridad(tTrabajo pTrabajo);

int trabajoGetPotenciaProceso (tTrabajo pTrabajo);

unsigned long int trabajoGetRequerimientoMemoria (tTrabajo pTrabajo);

char* trabajoGetPathEjecutable (tTrabajo pTrabajo);

tTiempo trabajoGetTiempoEjecucion(tTrabajo pTrabajo);

tTiempo trabajoCorrer(tTrabajo pTrabajo, tTiempo pTiempo);

tBool trabajoIgual (tTrabajo pTrabajoA, tTrabajo pTrabajoB);

void trabajoImprimir (tTrabajo pTrabajo, tOutStream pOutStream);

#endif /*TRABAJO_H*/
